using UnityEngine;
using Utility.GameEvents.Core;

namespace Utility.GameEvents.Examples {
    public class PlayerScoreChangedEvent : IGameEvent {
        public string PlayerID { get; }
        public int NewScore { get; }
        public int ChangeAmount { get; }

        public PlayerScoreChangedEvent(string playerID, int newScore, int changeAmount) {
            PlayerID = playerID;
            NewScore = newScore;
            ChangeAmount = changeAmount;
        }
    }

    public class EnemyDefeatedEvent : IGameEvent {
        public string EnemyType { get; }
        public int PointsAwarded { get; }

        public EnemyDefeatedEvent(string enemyType, int pointsAwarded) {
            EnemyType = enemyType;
            PointsAwarded = pointsAwarded;
        }
    }
    
    public class GamePausedEvent : IGameEvent{ }
    public class GameResumedEvent : IGameEvent{ }
}
